<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>封装函数发送 AJAX 请求</title>
  </head>
  <body>
    <script>
      /**
       * 函数名:  sendAJAX
       * 作用:  发送 AJAX 请求
       * 参数:  method 请求类型,  url 发送的 URL
       * 示例:  sendAJAX('get', 'https://api.xiaohigh.com/duanzi')
       * 返回值: promise 对象
       *      成功的结果  『响应体』
       *      失败的结果  『响应状态码』
       *
       */
      function sendAJAX(method, url) {
        return new Promise((resolve, reject) => {
          let xhr = new XMLHttpRequest();
          xhr.responseType = 'json'
          xhr.open(method, url);
          xhr.send();
          xhr.onreadystatechange = function () {
            if (xhr.readyState === 4) {
              if (xhr.status >= 200 && xhr.status < 300) {
                //成功
                resolve(xhr.response);
              } else {
                //失败
                reject(xhr.status);
              }
            }
          };
        });
      }

      sendAJAX("get", "http://api.xiaohigh.com/duanzi").then(data => {
        console.log(data);
      }, status => {
        console.error(status);
      })
      
    </script>
  </body>
</html>
